
'Starting tests...' println.
' 1 eq 1 ... ' print.
s = 1.
t = s equal: 1.
t ifTrue: [ 'True' println. 'Hi' println. ] ifFalse: ['False' println.].
' 1 eq 2 ... ' print.
s = 1.
t = s equal: 2.
t ifTrue: ['True' println.] ifFalse: ['False' println.].

'Cloning object ...' print.
a = Object clone.
Current object: a.
'done' println.
'Making property ...' print.
a makeprop: 'test'.
' done ' println.
'Setting and getting property ...' print.
a test: 'done'.
b = a test.
b println.

myPrint: val |  | .
val println.
b  = 42.
^b.

notRun |val| . 
'This should not have run' println.
^False.

factorial: n |  | .
z = 1.
t = n equal: 1.
t ifFalse: [
x = n subtract: 1.
y = a factorial: x.
z = y multiply: n.
z println.
].
^z.



'Starting...' println.
c = a factorial: 5.
'Factorial of 5 is ' print.
c println.


'Finished' println.
